package operator.filter;

import java.util.ArrayList;

import io.reactivex.Observable;
import util.RxJavaHelper;

class ElementAtOperator {

    public static void main(String[] args) {
//        elementAt();
        elementAtOrError();
    }

    /**
     * 过滤index元素，越界不发送错误事件
     */
    static void elementAt() {
        ArrayList<Integer> intList = new ArrayList<>();
        intList.add(1);
        intList.add(2);
        intList.add(3);
        Observable.fromIterable(intList)
                .elementAt(2)
//                .elementAt(5)
                .subscribe(RxJavaHelper.getMaybeConsumer());
    }


    /**
     * 过滤index元素，越界不发送错误事件
     */
    static void elementAtOrError() {
        ArrayList<Integer> intList = new ArrayList<>();
        intList.add(1);
        intList.add(2);
        intList.add(3);
        Observable.fromIterable(intList)
//                .elementAtOrError(2)
                .elementAtOrError(5)
                .subscribe(RxJavaHelper.getSingleConsumer());
    }

}
